const router = require('koa-router')() // 一边导入一边实例化
// const result = require('../../config/result.js')
// const { regcheck,checking } = require('../../config/checking.js')
// 操作数据库的接口
const { getToken, Queryurl } = require('../../config/databaseapi.js')
// 注册接口
router.post('/participants', async (ctx) => {
	console.log('调用查询某个党建活动全部参与者参与者信息接口')
	let { _id } = ctx.request.body
	// let query = `db.collection("huo_dong_can_yu").where({activityId:"${_id}"}).get()`;
	// let res = await new getToken().posteve(Queryurl, query)
	// console.log('查询结果',res);
		// 由于微信云数据库在查询数据是一次只能默认获取10条数据，所以需要设计一个算法来一次获取到全部数据
	let total = await new getToken().posteve(Queryurl, `db.collection("huo_dong_can_yu").where({activityId:"${_id}"}).get()`)
	let page = Math.ceil(total.pager.Total / 10)
	let tasks = []
	for (let i = 0; i < page; i++) {
		let resPromise = new getToken().posteve(Queryurl, `db.collection("huo_dong_can_yu").where({activityId:"${_id}"}).skip(${i * 10}).limit(10).get()`)
		tasks.push(resPromise)
	}
	let results = await Promise.all(tasks)
	let alldata = []
	for (let i = 0; i < results.length; i++) {
		if (results[i].errcode === 0) {
			for (let j = 0; j < results[i].data.length; j++) {
				alldata.push(results[i].data[j]);
			}
		} else {
			ctx.body = { msg: "查询失败", status: 0 }
			break;
		}
	}
	console.log('查询到的所有数据', alldata);
		
	if (alldata.length > 0 || alldata.length == 0) {
		ctx.body = { msg: "查询成功", status: 1, data: alldata }
	}
})

module.exports = router.routes()